小结:
1. 准备文章封面数据 blob临时路径  URL.createObjectURL(file对象)
2. 发布文章/存为草稿 state
3. 发布文章 封装发布文章的接口 处理formData格式 文章封面 单独处理文章封面 file文件对象
4. 发布文章后续操作 子传父通知父组件关闭对话框 @close事件 修改为:before-close  并重新获取文章列表  重置发布文章的表单  destroy-on-close
5. 个人基本资料的渲染 直接从vuex中取数据
6. 重置功能 备份个人信息(手动请求个人信息保存在组件中) 并双向绑定给表单  重置 将data中userDetail 设置为vuex中原始的数据
7. 修改个人资料  封装接口 发送请求  
8. 更换头像结构+样式+默认的头像封面
9. 准备更换头像的三个按钮
10. 头像上传并显示 base64格式 FileReader文件读取对象 
11. 处理上传头像按钮的禁用和启用
12. 准备接口 发送请求更新头像 重新渲染
13. 更改密码
      结构+样式+校验规则
      发送请求重置密码
14. home echarts使用 mounted钩子  
   
15. 打包 -----------不做要求   yarn build  路由懒加载  移除console  移除第三方包
CDN 加速服务器
www.baidu.com -> ip地址查找 (三次握手)

优先从浏览器缓存中读取
读取计算机缓存
读取当前所在城市CDN服务器
全国的CDN服务器上查找
全球根服务器
404



